// components/VForm.js
Component({
  relations: {
    './VFormItem/VFormItem': {
      type: 'child', // 关联的目标节点应为子节点
      linked(target) {
        // console.log('link item child', target);
      }
    }
  },
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    addItem(item) {
      console.log('addItem', item);
    },
    validate(callback) {
      const items = this.getRelationNodes('./VFormItem/VFormItem');
      return Promise.all(
        items.filter(child => child.data.prop).map(child => child.validate())
      ).then(() => {
        if (callback) {
          callback(true)
        }
        return Promise.resolve(true)
      }).catch(errors => {
        if (callback) {
          callback(false, errors)
        }
        return Promise.reject(errors)
      });
    }
  },
  ready() {
    console.log('form ready');
  }
})
